// src/main/modules/ipcRegister.js

/**
 * 注册所有 IPC 处理程序
 * 一行代码即可完成所有 IPC 处理程序的注册
 * 返回 Promise，确保所有处理程序注册完成
 */
// export async function registerAllIpcHandlers() {
//   try {
//     // 使用 Promise.all 等待所有注册完成
//     await Promise.all([
//       // 注册文件系统 IPC 处理程序
//       import('../../ipcHandlers/fileSystemHandler.js').then((module) =>
//         module.registerFileSystemIpcHandlers()
//       ),
//
//       // 注册资源管理 IPC 处理程序
//       import('../../ipcHandlers/resourceHandler').then((module) =>
//         module.registerResourceIpcHandlers()
//       )
//     ])
//
//     console.log('所有 IPC 处理程序已成功注册')
//   } catch (error) {
//     console.error('IPC 处理程序注册失败:', error)
//   }
// }

// src/main/modules/ipcRegister.js

// 静态导入，确保构建工具能识别
import { registerFileSystemIpcHandlers } from '../../ipcHandlers/fileSystemHandler.js'
import { registerResourceIpcHandlers } from '../../ipcHandlers/resourceHandler.js'

const handlers = [
  { name: 'FileSystem', register: registerFileSystemIpcHandlers },
  { name: 'Resource', register: registerResourceIpcHandlers }
]

export async function registerAllIpcHandlers() {
  for (const handler of handlers) {
    try {
      await handler.register()
      console.log(`✅ ${handler.name} IPC 处理程序注册成功`)
    } catch (error) {
      console.error(`🛑 注册 ${handler.name} 失败:`, error)
      throw new Error(`IPC 注册失败: ${handler.name} - ${error.message}`)
    }
  }
  console.log('🎉 所有 IPC 处理程序注册完成')
}
